﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace Kokomo.Mirror.PeFormat
{
	[Description("Export Directory")]
	public class ExportDirectoryHeader : PeHeaderStruct
	{
		[TypeConverter(typeof(HexConverter))]
		public uint Characteristics { get; set; }

		[TypeConverter(typeof(HexConverter))]
		[DisplayName("Time/date stamp")]
		public uint TimeDateStamp { get; set; }

		public Version Version { get; set; }

		[TypeConverter(typeof(HexConverter))]
		public uint Name { get; set; }

		[TypeConverter(typeof(HexConverter))]
		public int Base { get; set; }

		[DisplayName("Number of functions")]
		public uint NumberOfFunctions { get; set; }

		[DisplayName("Number of names")]
		public uint NumberOfNames { get; set; }

		[DisplayName("Address of functions")]
		[TypeConverter(typeof(HexConverter))]
		public uint AddressOfFunctions { get; set; }     // RVA from base of image

		[DisplayName("Address of names")]
		[TypeConverter(typeof(HexConverter))]
		public uint AddressOfNames { get; set; }         // RVA from base of image

		[DisplayName("Address of name ordinals")]
		[TypeConverter(typeof(HexConverter))]
		public uint AddressOfNameOrdinals { get; set; }  // RVA from base of image
	}
}
